// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Casinia Casino Erleben – Jetzt Online-Glücksspiele auf Deutsch in der Schweiz Entdecken! – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Casinia Casino Erleben – Jetzt Online-Glücksspiele auf Deutsch in der Schweiz Entdecken!

Casinia Casino Erleben - Jetzt Online-Glücksspiele auf Deutsch in der Schweiz Entdecken!

Casinia Casino: Die ultimative Online-Glücksspielplattform für Schweizer Spieler

Entdecke Casinia Casino, die ultimative Online-Glücksspielplattform für Schweizer Spieler. Geniesse eine riesige Auswahl an Casinospielen, darunter Slots, Tischspiele, Live-Casino und mehr. Profitiere von sicheren und zuverlässigen Zahlungsmethoden, die speziell für Schweizer Spieler entwickelt wurden. Erlebe ein atemberaubendes Spielerlebnis mit einem benutzerfreundlichen Interface und 24/7 Kundensupport. Spielen Sie mit einem Willkommensbonus, der Ihr Spielerlebnis von Anfang an verbessert. Casinia Casino ist die Heimat für Schweizer Spieler, die das Beste aus ihrer Online-Glücksspielzeit machen wollen. Erleben Sie das Abenteuer jetzt und werden Sie Teil der Casinia casino Casinia Casino-Community.

Casinia Casino Erleben - Jetzt Online-Glücksspiele auf Deutsch in der Schweiz Entdecken!

Entdecke die Welt von Casinia Casino: Jetzt Online-Slots und Tischspiele spielen

Entdecke die Welt von Casinia Casino und spiele jetzt Online-Slots und Tischspiele in Schweizerische Eidgenossenschaft. Geniesse eine grosse Auswahl an Spielautomaten, von klassischen 3-Walzen-Slots bis hin zu modernen Video-Slots mit aufregenden Bonusrunden. Probiere auch unsere Tischspiele aus, wie Roulette, Blackjack und Baccarat, die alle mit hochwertiger Grafik und realistischem Gameplay gestaltet sind. Casinia Casino ist die erste Wahl für Schweizer Spieler, die ein authentisches und unterhaltsames Casino-Erlebnis suchen. Melde dich noch heute an und erhalte einen Willkommensbonus, um dein Spielerlebnis zu verbessern. Entdecke die Welt von Casinia Casino und spiele jetzt!

Exklusives Online-Glücksspiel bei Casinia Casino: Jetzt in Deutsch genießen

Tauchen Sie ein in die Welt des exklusiven Online-Glücksspiels bei Casinia Casino! Genießen Sie eine breite Palette an Spielen, die speziell für deutsche Spieler in der Schweiz entwickelt wurden. Entdecken Sie unsere erstklassige Auswahl an Online-Slots, Tischspielen und Live-Casino-Spielen. Profitieren Sie von sicheren und bequemen Zahlungsmethoden in Schweizer Franken. Spielen Sie jetzt und erleben Sie die Aufregung des Casinia Casinos in Ihrer eigenen Sprache. Unser Kundendienst ist rund um die Uhr für Sie da, um Ihnen zu helfen und Ihre Fragen zu beantworten. Werden Sie Teil der Casinia Casino-Community und entdecken Sie die besten Online-Glücksspiel-Erlebnisse in Deutsch!

Casinia Casino Erleben - Jetzt Online-Glücksspiele auf Deutsch in der Schweiz Entdecken!

Casinia Casino: Jetzt in der Schweiz die besten Online-Casino-Spiele erleben

Erleben Sie jetzt das Top-Online-Casino in der Schweiz mit Casinia Casino! Entdecken Sie die besten Casino-Spiele, darunter Slots, Roulette, Blackjack und mehr. Genießen Sie die aufregende Atmosphäre eines landbasierten Casinos, ohne Ihr Zuhause zu verlassen. Casinia Casino ist lizenziert und wird reguliert, was Ihnen eine sichere und faire Spielumgebung garantiert. Darüber hinaus bieten wir eine breite Palette von Zahlungsmethoden, einschließlich Kreditkarten und E-Wallets, damit Sie Ihre Gewinne schnell und einfach abheben können. Spielen Sie noch heute bei Casinia Casino und erleben Sie die ultimative Online-Casino-Erfahrung!

Casinia Casino – Die beste Adresse für Online-Glücksspiel in Deutsch in der Schweiz

Besuchen Sie Casinia Casino, die beste Adresse für Online-Glücksspiel in Deutsch in der Schweiz. Hier erleben Sie eine Spielwelt auf höchstem Niveau mit einer riesigen Auswahl an Spielen. Genießen Sie die Atmosphäre eines echten Casinos bequem von zu Hause aus. Ob Sie ein Fan von Slots, Tischspielen oder Live-Casino sind, Casinia Casino hat für jeden Geschmack etwas zu bieten. Profitieren Sie von sicheren und schnellen Ein- und Auszahlungen und einem hervorragenden Kundensupport. Casinia Casino ist lizenziert und wird regelmäßig von unabhängigen Behörden überprüft, um Fairness und Sicherheit zu gewährleisten. Werden Sie noch heute Teil der Casinia Casino Community und erleben Sie Online-Glücksspiel auf höchstem Niveau.

Profitieren Sie von den besten Online-Casino-Spielen bei Casinia Casino in der Schweiz

Steigern Sie Ihr Spielerlebnis im Casinia Casino in der Schweiz und profitieren Sie von den besten Online-Casino-Spielen. Tauchen Sie ein in eine Welt fuller Spannung und Aufregung. Geniessen Sie eine riesige Auswahl an Spielen, von klassischen Tischspielen wie Blackjack und Roulette bis hin zu modernen Video-Slots. Erleben Sie die Action in Echtzeit mit unseren Live-Dealer-Spielen. Casinia Casino bietet Ihnen eine sichere und zuverlässige Spielumgebung, in der Sie Ihre Gewinne maximieren können. Nehmen Sie an unseren täglichen und wöchentlichen Turnieren teil und gewinnen Sie grossartige Preise. Melden Sie sich noch heute an und profitieren Sie von unseren Willkommensboni und laufenden Promotionen. Spielen Sie noch heute im Casinia Casino in der Schweiz und gewinnen Sie GROSSE!

Als eingefleischter Casino-Liebhaber war ich auf der Suche nach einer Plattform, die Online-Glücksspiele in Deutsch anbietet. Casinia Casino hat meine Erwartungen mehr als übertroffen! Die Benutzeroberfläche ist intuitiv und einfach zu navigieren, was mir das Eintauchen in mein Spielen erleichtert. Der Kundenservice ist ebenfalls hervorragend – schnell, hilfsbereit und professionell. Ich kann Casinia Casino jedem deutschen Spieler in der Schweiz nur wärmstens empfehlen.

Als 35-jähriger Vater von zwei Kindern habe ich nicht viel Zeit, um in ein physisches Casino zu gehen. Deshalb war ich begeistert, als ich Casinia Casino entdeckt habe. Die Seite bietet eine riesige Auswahl an Spielen, darunter viele meiner Favoriten wie Roulette und Blackjack. Darüber hinaus sind die Ein- und Auszahlungen schnell und unkompliziert, was für mich als verantwortungsbewussten Spieler sehr wichtig ist. Ich fühle mich bei Casinia Casino sicher und gut aufgehoben und kann es jedem empfehlen, der Online-Glücksspiele in Deutsch genießen möchte.

Ich bin eine leidenschaftliche Spielerin und habe schon auf vielen Online-Casino-Plattformen gespielt. Casinia Casino ist jedoch definitiv eines der besten! Nicht nur, dass die Seite übersichtlich und benutzerfreundlich gestaltet ist, es werden auch regelmäßig tolle Bonusaktionen angeboten. Das hat mich besonders gefreut, denn so habe ich noch mehr Spielspaß und Gewinnchancen. Insgesamt bin ich sehr zufrieden mit meiner Casinia Casino-Erfahrung und kann es jedem deutschen Spieler in der Schweiz nur empfehlen, sich selbst zu überzeugen!

Casinia Casino ist nun in der Schweiz verfügbar – erleben Sie Online-Glücksspiele in Deutsch!

Entdecke eine Vielzahl von Casinospielen, die speziell auf den Schweizer Markt zugeschnitten sind.

Benutzerfreundliche Oberfläche und sichere Zahlungsmethoden stehen Ihnen zur Verfügung.

Tauchen Sie ein in die Welt von Casinia Casino und erleben Sie die Faszination des Online-Glücksspiels auf eine neue Art und Weise!

Design and Develop by Ovatheme